home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / AWARE_H.PAK / DBEVENT.H < prev    next >
C/C++ Source or Header  |  1997-05-06  |  39KB  |  730 lines

  1. //------------------------------------------------------------------------------
  2. // DBEVENT.H
  3. // Copyrights (C) 1996 Borland International
  4. // All Rights Reserved
  5. //------------------------------------------------------------------------------
  6.  
  7. #if !defined(DBEVENT_H_)
  8. #define DBEVENT_H_
  9.  
  10. #include <winsys/geometry.h>  // TRect
  11. #include <vdbt/dbtype.h>
  12. #include <vdbt/bdte.h>
  13.  
  14.  
  15. //------------------------------------------------------------------------------
  16. // Macros
  17. //------------------------------------------------------------------------------
  18. #define DECLARE_SOURCE( name, type )                              \
  19.   protected:                                                      \
  20.     void Attach##name( const TBdtEventSourceBase&, bool attach )  \
  21.     {                                                             \
  22.       name = attach ? &ThisDBClss::Fire##name : NULL;             \
  23.     }                                                             \
  24.   public:                                                         \
  25.     type##Source name##Source
  26.  
  27. #define INIT_SOURCE( name )                                              \
  28.   name##Source( SrcAttach_MFUNCTOR( *this, &ThisDBClss::Attach##name ) ) \
  29.  
  30.  
  31. //------------------------------------------------------------------------------
  32. // TDBCheckBox Functors
  33. //------------------------------------------------------------------------------
  34. typedef TBdtEventSourceV1<TDBCheckBox&> TDBCheckBoxNotifySource;
  35. typedef TBdtEventSinkV1<TDBCheckBox&>   TDBCheckBoxNotifySink;
  36. #define TDBCheckBoxNotify_FUNCTOR(func) \
  37.         Functor((TDBCheckBoxNotifySink::TFunctor*)0, func)
  38. #define TDBCheckBoxNotify_MFUNCTOR(object,memberFunc) \
  39.         Functor((TDBCheckBoxNotifySink::TFunctor*)0, object, memberFunc)
  40.  
  41. typedef TBdtEventSourceV4<TDBCheckBox&, TVbxControl&, SHORT, SHORT>
  42.                                                           TDBCheckBoxDragSource;
  43. typedef TBdtEventSinkV4<TDBCheckBox&, TVbxControl&, SHORT, SHORT>
  44.                                                           TDBCheckBoxDragSink;
  45. #define TDBCheckBoxDrag_FUNCTOR(func) \
  46.         Functor((TDBCheckBoxDragSink::TFunctor*)0, func)
  47. #define TDBCheckBoxDrag_MFUNCTOR(object,memberFunc) \
  48.         Functor((TDBCheckBoxDragSink::TFunctor*)0, object, memberFunc)
  49.  
  50. typedef TBdtEventSourceV5<TDBCheckBox&, TVbxControl&, SHORT, SHORT, TDragState>
  51.                                                       TDBCheckBoxDragOverSource;
  52. typedef TBdtEventSinkV5<TDBCheckBox&, TVbxControl&, SHORT, SHORT, TDragState>
  53.                                                       TDBCheckBoxDragOverSink;
  54. #define TDBCheckBoxDragOver_FUNCTOR(func) \
  55.         Functor((TDBCheckBoxDragOverSink::TFunctor*)0, func)
  56. #define TDBCheckBoxDragOver_MFUNCTOR(object,memberFunc) \
  57.         Functor((TDBCheckBoxDragOverSink::TFunctor*)0, object, memberFunc)
  58.  
  59. typedef TBdtEventSourceV3<TDBCheckBox&, SHORT*, TShiftState>
  60.                                                            TDBCheckBoxKeySource;
  61. typedef TBdtEventSinkV3<TDBCheckBox&, SHORT*, TShiftState> TDBCheckBoxKeySink;
  62. #define TDBCheckBoxKey_FUNCTOR(func) \
  63.         Functor((TDBCheckBoxKeySink::TFunctor*)0, func)
  64. #define TDBCheckBoxKey_MFUNCTOR(object,memberFunc) \
  65.         Functor((TDBCheckBoxKeySink::TFunctor*)0, object, memberFunc)
  66.  
  67. typedef TBdtEventSourceV2<TDBCheckBox&, SHORT> TDBCheckBoxKeyPressSource;
  68. typedef TBdtEventSinkV2<TDBCheckBox&, SHORT>   TDBCheckBoxKeyPressSink;
  69. #define TDBCheckBoxKeyPress_FUNCTOR(func) \
  70.         Functor((TDBCheckBoxKeyPressSink::TFunctor*)0, func)
  71. #define TDBCheckBoxKeyPress_MFUNCTOR(object,memberFunc) \
  72.         Functor((TDBCheckBoxKeyPressSink::TFunctor*)0, object, memberFunc)
  73.  
  74. typedef TBdtEventSourceV5<TDBCheckBox&, TMouseButton, TShiftState, SHORT, SHORT>
  75.                                                          TDBCheckBoxMouseSource;
  76. typedef TBdtEventSinkV5<TDBCheckBox&, TMouseButton, TShiftState, SHORT, SHORT>
  77.                                                          TDBCheckBoxMouseSink;
  78. #define TDBCheckBoxMouse_FUNCTOR(func) \
  79.         Functor((TDBCheckBoxMouseSink::TFunctor*)0, func)
  80. #define TDBCheckBoxMouse_MFUNCTOR(object,memberFunc) \
  81.         Functor((TDBCheckBoxMouseSink::TFunctor*)0, object, memberFunc)
  82.  
  83.  
  84. //------------------------------------------------------------------------------
  85. // TDBComboBox Functors
  86. //------------------------------------------------------------------------------
  87. typedef TBdtEventSourceV1<TDBComboBox&> TDBComboBoxNotifySource;
  88. typedef TBdtEventSinkV1<TDBComboBox&>   TDBComboBoxNotifySink;
  89. #define TDBComboBoxNotify_FUNCTOR(func) \
  90.         Functor((TDBComboBoxNotifySink::TFunctor*)0, func)
  91. #define TDBComboBoxNotify_MFUNCTOR(object,memberFunc) \
  92.         Functor((TDBComboBoxNotifySink::TFunctor*)0, object, memberFunc)
  93.  
  94. typedef TBdtEventSourceV4<TDBComboBox&, TVbxControl&, SHORT, SHORT>
  95.                                                           TDBComboBoxDragSource;
  96. typedef TBdtEventSinkV4<TDBComboBox&, TVbxControl&, SHORT, SHORT>
  97.                                                           TDBComboBoxDragSink;
  98. #define TDBComboBoxDrag_FUNCTOR(func) \
  99.         Functor((TDBComboBoxDragSink::TFunctor*)0, func)
  100. #define TDBComboBoxDrag_MFUNCTOR(object,memberFunc) \
  101.         Functor((TDBComboBoxDragSink::TFunctor*)0, object, memberFunc)
  102.  
  103. typedef TBdtEventSourceV5<TDBComboBox&, TVbxControl&, SHORT, SHORT, TDragState>
  104.                                                       TDBComboBoxDragOverSource;
  105. typedef TBdtEventSinkV5<TDBComboBox&, TVbxControl&, SHORT, SHORT, TDragState>
  106.                                                       TDBComboBoxDragOverSink;
  107. #define TDBComboBoxDragOver_FUNCTOR(func) \
  108.         Functor((TDBComboBoxDragOverSink::TFunctor*)0, func)
  109. #define TDBComboBoxDragOver_MFUNCTOR(object,memberFunc) \
  110.         Functor((TDBComboBoxDragOverSink::TFunctor*)0, object, memberFunc)
  111.  
  112. typedef TBdtEventSourceV3<TDBComboBox&, SHORT*, TShiftState>
  113.                                                            TDBComboBoxKeySource;
  114. typedef TBdtEventSinkV3<TDBComboBox&, SHORT*, TShiftState> TDBComboBoxKeySink;
  115. #define TDBComboBoxKey_FUNCTOR(func) \
  116.         Functor((TDBComboBoxKeySink::TFunctor*)0, func)
  117. #define TDBComboBoxKey_MFUNCTOR(object,memberFunc) \
  118.         Functor((TDBComboBoxKeySink::TFunctor*)0, object, memberFunc)
  119.  
  120. typedef TBdtEventSourceV2<TDBComboBox&, SHORT> TDBComboBoxKeyPressSource;
  121. typedef TBdtEventSinkV2<TDBComboBox&, SHORT>   TDBComboBoxKeyPressSink;
  122. #define TDBComboBoxKeyPress_FUNCTOR(func) \
  123.         Functor((TDBComboBoxKeyPressSink::TFunctor*)0, func)
  124. #define TDBComboBoxKeyPress_MFUNCTOR(object,memberFunc) \
  125.         Functor((TDBComboBoxKeyPressSink::TFunctor*)0, object, memberFunc)
  126.  
  127. typedef TBdtEventSourceV3<TDBComboBox&, SHORT, SHORT*>
  128.                                                    TDBComboBoxMeasureItemSource;
  129. typedef TBdtEventSinkV3<TDBComboBox&, SHORT, SHORT*> TDBComboBoxMeasureItemSink;
  130. #define TDBComboBoxMeasureItem_FUNCTOR(func) \
  131.         Functor((TDBComboBoxMeasureItemSink::TFunctor*)0, func)
  132. #define TDBComboBoxMeasureItem_MFUNCTOR(object,memberFunc) \
  133.         Functor((TDBComboBoxMeasureItemSink::TFunctor*)0, object, memberFunc)
  134.  
  135. typedef TBdtEventSourceV4<TDBComboBox&, SHORT, TRect, TOwnerDrawState>
  136.                                                       TDBComboBoxDrawItemSource;
  137. typedef TBdtEventSinkV4<TDBComboBox&, SHORT, TRect, TOwnerDrawState>
  138.                                                       TDBComboBoxDrawItemSink;
  139. #define TDBComboBoxDrawItem_FUNCTOR(func) \
  140.         Functor((TDBComboBoxDrawItemSink::TFunctor*)0, func)
  141. #define TDBComboBoxDrawItem_MFUNCTOR(object,memberFunc) \
  142.         Functor((TDBComboBoxDrawItemSink::TFunctor*)0, object, memberFunc)
  143.  
  144.  
  145. //------------------------------------------------------------------------------
  146. // TDBEdit Functors
  147. //------------------------------------------------------------------------------
  148. typedef TBdtEventSourceV1<TDBEdit&> TDBEditNotifySource;
  149. typedef TBdtEventSinkV1<TDBEdit&>   TDBEditNotifySink;
  150. #define TDBEditNotify_FUNCTOR(func) \
  151.         Functor((TDBEditNotifySink::TFunctor*)0, func)
  152. #define TDBEditNotify_MFUNCTOR(object,memberFunc) \
  153.         Functor((TDBEditNotifySink::TFunctor*)0, object, memberFunc)
  154.  
  155. typedef TBdtEventSourceV4<TDBEdit&, TVbxControl&, SHORT, SHORT> TDBEditDragSource;
  156. typedef TBdtEventSinkV4<TDBEdit&, TVbxControl&, SHORT, SHORT>   TDBEditDragSink;
  157. #define TDBEditDrag_FUNCTOR(func) Functor((TDBEditDragSink::TFunctor*)0, func)
  158. #define TDBEditDrag_MFUNCTOR(object,memberFunc) \
  159.         Functor((TDBEditDragSink::TFunctor*)0, object, memberFunc)
  160.  
  161. typedef TBdtEventSourceV5<TDBEdit&, TVbxControl&, SHORT, SHORT, TDragState>
  162.                                                       TDBEditDragOverSource;
  163. typedef TBdtEventSinkV5<TDBEdit&, TVbxControl&, SHORT, SHORT, TDragState>
  164.                                                       TDBEditDragOverSink;
  165. #define TDBEditDragOver_FUNCTOR(func) \
  166.         Functor((TDBEditDragOverSink::TFunctor*)0, func)
  167. #define TDBEditDragOver_MFUNCTOR(object,memberFunc) \
  168.         Functor((TDBEditDragOverSink::TFunctor*)0, object, memberFunc)
  169.  
  170. typedef TBdtEventSourceV3<TDBEdit&, SHORT*, TShiftState> TDBEditKeySource;
  171. typedef TBdtEventSinkV3<TDBEdit&, SHORT*, TShiftState>   TDBEditKeySink;
  172. #define TDBEditKey_FUNCTOR(func) Functor((TDBEditKeySink::TFunctor*)0, func)
  173. #define TDBEditKey_MFUNCTOR(object,memberFunc) \
  174.         Functor((TDBEditKeySink::TFunctor*)0, object, memberFunc)
  175.  
  176. typedef TBdtEventSourceV2<TDBEdit&, SHORT> TDBEditKeyPressSource;
  177. typedef TBdtEventSinkV2<TDBEdit&, SHORT>   TDBEditKeyPressSink;
  178. #define TDBEditKeyPress_FUNCTOR(func) \
  179.         Functor((TDBEditKeyPressSink::TFunctor*)0, func)
  180. #define TDBEditKeyPress_MFUNCTOR(object,memberFunc) \
  181.         Functor((TDBEditKeyPressSink::TFunctor*)0, object, memberFunc)
  182.  
  183. typedef TBdtEventSourceV5<TDBEdit&, TMouseButton, TShiftState, SHORT, SHORT>
  184.                                                          TDBEditMouseSource;
  185. typedef TBdtEventSinkV5<TDBEdit&, TMouseButton, TShiftState, SHORT, SHORT>
  186.                                                          TDBEditMouseSink;
  187. #define TDBEditMouse_FUNCTOR(func) \
  188.         Functor((TDBEditMouseSink::TFunctor*)0, func)
  189. #define TDBEditMouse_MFUNCTOR(object,memberFunc) \
  190.         Functor((TDBEditMouseSink::TFunctor*)0, object, memberFunc)
  191.  
  192.  
  193. //------------------------------------------------------------------------------
  194. // TDBGrid Functors
  195. //------------------------------------------------------------------------------
  196. typedef TBdtEventSourceV1<TDBGrid&> TDBGridNotifySource;
  197. typedef TBdtEventSinkV1<TDBGrid&>   TDBGridNotifySink;
  198. #define TDBGridNotify_FUNCTOR(func) \
  199.         Functor((TDBGridNotifySink::TFunctor*)0, func)
  200. #define TDBGridNotify_MFUNCTOR(object,memberFunc) \
  201.         Functor((TDBGridNotifySink::TFunctor*)0, object, memberFunc)
  202.  
  203. typedef TBdtEventSourceV4<TDBGrid&, TVbxControl&, SHORT, SHORT> TDBGridDragSource;
  204. typedef TBdtEventSinkV4<TDBGrid&, TVbxControl&, SHORT, SHORT>   TDBGridDragSink;
  205. #define TDBGridDrag_FUNCTOR(func) Functor((TDBGridDragSink::TFunctor*)0, func)
  206. #define TDBGridDrag_MFUNCTOR(object,memberFunc) \
  207.         Functor((TDBGridDragSink::TFunctor*)0, object, memberFunc)
  208.  
  209. typedef TBdtEventSourceV5<TDBGrid&, TVbxControl&, SHORT, SHORT, TDragState>
  210.                                                       TDBGridDragOverSource;
  211. typedef TBdtEventSinkV5<TDBGrid&, TVbxControl&, SHORT, SHORT, TDragState>
  212.                                                       TDBGridDragOverSink;
  213. #define TDBGridDragOver_FUNCTOR(func) \
  214.         Functor((TDBGridDragOverSink::TFunctor*)0, func)
  215. #define TDBGridDragOver_MFUNCTOR(object,memberFunc) \
  216.         Functor((TDBGridDragOverSink::TFunctor*)0, object, memberFunc)
  217.  
  218. typedef TBdtEventSourceV3<TDBGrid&, SHORT*, TShiftState> TDBGridKeySource;
  219. typedef TBdtEventSinkV3<TDBGrid&, SHORT*, TShiftState>   TDBGridKeySink;
  220. #define TDBGridKey_FUNCTOR(func) Functor((TDBGridKeySink::TFunctor*)0, func)
  221. #define TDBGridKey_MFUNCTOR(object,memberFunc) \
  222.         Functor((TDBGridKeySink::TFunctor*)0, object, memberFunc)
  223.  
  224. typedef TBdtEventSourceV2<TDBGrid&, SHORT> TDBGridKeyPressSource;
  225. typedef TBdtEventSinkV2<TDBGrid&, SHORT>   TDBGridKeyPressSink;
  226. #define TDBGridKeyPress_FUNCTOR(func) \
  227.         Functor((TDBGridKeyPressSink::TFunctor*)0, func)
  228. #define TDBGridKeyPress_MFUNCTOR(object,memberFunc) \
  229.         Functor((TDBGridKeyPressSink::TFunctor*)0, object, memberFunc)
  230.  
  231.  
  232. //------------------------------------------------------------------------------
  233. // TDBImage Functors
  234. //------------------------------------------------------------------------------
  235. typedef TBdtEventSourceV1<TDBImage&> TDBImageNotifySource;
  236. typedef TBdtEventSinkV1<TDBImage&>   TDBImageNotifySink;
  237. #define TDBImageNotify_FUNCTOR(func) \
  238.         Functor((TDBImageNotifySink::TFunctor*)0, func)
  239. #define TDBImageNotify_MFUNCTOR(object,memberFunc) \
  240.         Functor((TDBImageNotifySink::TFunctor*)0, object, memberFunc)
  241.  
  242. typedef TBdtEventSourceV4<TDBImage&, TVbxControl&, SHORT, SHORT> TDBImageDragSource;
  243. typedef TBdtEventSinkV4<TDBImage&, TVbxControl&, SHORT, SHORT>   TDBImageDragSink;
  244. #define TDBImageDrag_FUNCTOR(func) Functor((TDBImageDragSink::TFunctor*)0, func)
  245. #define TDBImageDrag_MFUNCTOR(object,memberFunc) \
  246.         Functor((TDBImageDragSink::TFunctor*)0, object, memberFunc)
  247.  
  248. typedef TBdtEventSourceV5<TDBImage&, TVbxControl&, SHORT, SHORT, TDragState>
  249.                                                       TDBImageDragOverSource;
  250. typedef TBdtEventSinkV5<TDBImage&, TVbxControl&, SHORT, SHORT, TDragState>
  251.                                                       TDBImageDragOverSink;
  252. #define TDBImageDragOver_FUNCTOR(func) \
  253.         Functor((TDBImageDragOverSink::TFunctor*)0, func)
  254. #define TDBImageDragOver_MFUNCTOR(object,memberFunc) \
  255.         Functor((TDBImageDragOverSink::TFunctor*)0, object, memberFunc)
  256.  
  257. typedef TBdtEventSourceV3<TDBImage&, SHORT*, TShiftState> TDBImageKeySource;
  258. typedef TBdtEventSinkV3<TDBImage&, SHORT*, TShiftState>   TDBImageKeySink;
  259. #define TDBImageKey_FUNCTOR(func) Functor((TDBImageKeySink::TFunctor*)0, func)
  260. #define TDBImageKey_MFUNCTOR(object,memberFunc) \
  261.         Functor((TDBImageKeySink::TFunctor*)0, object, memberFunc)
  262.  
  263. typedef TBdtEventSourceV2<TDBImage&, SHORT> TDBImageKeyPressSource;
  264. typedef TBdtEventSinkV2<TDBImage&, SHORT>   TDBImageKeyPressSink;
  265. #define TDBImageKeyPress_FUNCTOR(func) \
  266.         Functor((TDBImageKeyPressSink::TFunctor*)0, func)
  267. #define TDBImageKeyPress_MFUNCTOR(object,memberFunc) \
  268.         Functor((TDBImageKeyPressSink::TFunctor*)0, object, memberFunc)
  269.  
  270. typedef TBdtEventSourceV5<TDBImage&, TMouseButton, TShiftState, SHORT, SHORT>
  271.                                                          TDBImageMouseSource;
  272. typedef TBdtEventSinkV5<TDBImage&, TMouseButton, TShiftState, SHORT, SHORT>
  273.                                                          TDBImageMouseSink;
  274. #define TDBImageMouse_FUNCTOR(func) \
  275.         Functor((TDBImageMouseSink::TFunctor*)0, func)
  276. #define TDBImageMouse_MFUNCTOR(object,memberFunc) \
  277.         Functor((TDBImageMouseSink::TFunctor*)0, object, memberFunc)
  278.  
  279.  
  280. //------------------------------------------------------------------------------
  281. // TDBListBox Functors
  282. //------------------------------------------------------------------------------
  283. typedef TBdtEventSourceV1<TDBListBox&> TDBListBoxNotifySource;
  284. typedef TBdtEventSinkV1<TDBListBox&>   TDBListBoxNotifySink;
  285. #define TDBListBoxNotify_FUNCTOR(func) \
  286.         Functor((TDBListBoxNotifySink::TFunctor*)0, func)
  287. #define TDBListBoxNotify_MFUNCTOR(object,memberFunc) \
  288.         Functor((TDBListBoxNotifySink::TFunctor*)0, object, memberFunc)
  289.  
  290. typedef TBdtEventSourceV4<TDBListBox&, TVbxControl&, SHORT, SHORT>
  291.                                                           TDBListBoxDragSource;
  292. typedef TBdtEventSinkV4<TDBListBox&, TVbxControl&, SHORT, SHORT>
  293.                                                           TDBListBoxDragSink;
  294. #define TDBListBoxDrag_FUNCTOR(func) \
  295.         Functor((TDBListBoxDragSink::TFunctor*)0, func)
  296. #define TDBListBoxDrag_MFUNCTOR(object,memberFunc) \
  297.         Functor((TDBListBoxDragSink::TFunctor*)0, object, memberFunc)
  298.  
  299. typedef TBdtEventSourceV5<TDBListBox&, TVbxControl&, SHORT, SHORT, TDragState>
  300.                                                       TDBListBoxDragOverSource;
  301. typedef TBdtEventSinkV5<TDBListBox&, TVbxControl&, SHORT, SHORT, TDragState>
  302.                                                       TDBListBoxDragOverSink;
  303. #define TDBListBoxDragOver_FUNCTOR(func) \
  304.         Functor((TDBListBoxDragOverSink::TFunctor*)0, func)
  305. #define TDBListBoxDragOver_MFUNCTOR(object,memberFunc) \
  306.         Functor((TDBListBoxDragOverSink::TFunctor*)0, object, memberFunc)
  307.  
  308. typedef TBdtEventSourceV3<TDBListBox&, SHORT*, TShiftState> TDBListBoxKeySource;
  309. typedef TBdtEventSinkV3<TDBListBox&, SHORT*, TShiftState>   TDBListBoxKeySink;
  310. #define TDBListBoxKey_FUNCTOR(func) \
  311.         Functor((TDBListBoxKeySink::TFunctor*)0, func)
  312. #define TDBListBoxKey_MFUNCTOR(object,memberFunc) \
  313.         Functor((TDBListBoxKeySink::TFunctor*)0, object, memberFunc)
  314.  
  315. typedef TBdtEventSourceV2<TDBListBox&, SHORT> TDBListBoxKeyPressSource;
  316. typedef TBdtEventSinkV2<TDBListBox&, SHORT>   TDBListBoxKeyPressSink;
  317. #define TDBListBoxKeyPress_FUNCTOR(func) \
  318.         Functor((TDBListBoxKeyPressSink::TFunctor*)0, func)
  319. #define TDBListBoxKeyPress_MFUNCTOR(object,memberFunc) \
  320.         Functor((TDBListBoxKeyPressSink::TFunctor*)0, object, memberFunc)
  321.  
  322. typedef TBdtEventSourceV3<TDBListBox&, SHORT, SHORT*>
  323.                                                    TDBListBoxMeasureItemSource;
  324. typedef TBdtEventSinkV3<TDBListBox&, SHORT, SHORT*> TDBListBoxMeasureItemSink;
  325. #define TDBListBoxMeasureItem_FUNCTOR(func) \
  326.         Functor((TDBListBoxMeasureItemSink::TFunctor*)0, func)
  327. #define TDBListBoxMeasureItem_MFUNCTOR(object,memberFunc) \
  328.         Functor((TDBListBoxMeasureItemSink::TFunctor*)0, object, memberFunc)
  329.  
  330. typedef TBdtEventSourceV4<TDBListBox&, SHORT, TRect, TOwnerDrawState>
  331.                                                       TDBListBoxDrawItemSource;
  332. typedef TBdtEventSinkV4<TDBListBox&, SHORT, TRect, TOwnerDrawState>
  333.                                                       TDBListBoxDrawItemSink;
  334. #define TDBListBoxDrawItem_FUNCTOR(func) \
  335.         Functor((TDBListBoxDrawItemSink::TFunctor*)0, func)
  336. #define TDBListBoxDrawItem_MFUNCTOR(object,memberFunc) \
  337.         Functor((TDBListBoxDrawItemSink::TFunctor*)0, object, memberFunc)
  338.  
  339. typedef TBdtEventSourceV5<TDBListBox&, TMouseButton, TShiftState, SHORT, SHORT>
  340.                                                          TDBListBoxMouseSource;
  341. typedef TBdtEventSinkV5<TDBListBox&, TMouseButton, TShiftState, SHORT, SHORT>
  342.                                                          TDBListBoxMouseSink;
  343. #define TDBListBoxMouse_FUNCTOR(func) \
  344.         Functor((TDBListBoxMouseSink::TFunctor*)0, func)
  345. #define TDBListBoxMouse_MFUNCTOR(object,memberFunc) \
  346.         Functor((TDBListBoxMouseSink::TFunctor*)0, object, memberFunc)
  347.  
  348.  
  349. //------------------------------------------------------------------------------
  350. // TDBLookupCombo Functors
  351. //------------------------------------------------------------------------------
  352. typedef TBdtEventSourceV1<TDBLookupCombo&> TDBLookupComboNotifySource;
  353. typedef TBdtEventSinkV1<TDBLookupCombo&>   TDBLookupComboNotifySink;
  354. #define TDBLookupComboNotify_FUNCTOR(func) \
  355.         Functor((TDBLookupComboNotifySink::TFunctor*)0, func)
  356. #define TDBLookupComboNotify_MFUNCTOR(object,memberFunc) \
  357.         Functor((TDBLookupComboNotifySink::TFunctor*)0, object, memberFunc)
  358.  
  359. typedef TBdtEventSourceV4<TDBLookupCombo&, TVbxControl&, SHORT, SHORT>
  360.                                                        TDBLookupComboDragSource;
  361. typedef TBdtEventSinkV4<TDBLookupCombo&, TVbxControl&, SHORT, SHORT>
  362.                                                        TDBLookupComboDragSink;
  363. #define TDBLookupComboDrag_FUNCTOR(func) \
  364.         Functor((TDBLookupComboDragSink::TFunctor*)0, func)
  365. #define TDBLookupComboDrag_MFUNCTOR(object,memberFunc) \
  366.         Functor((TDBLookupComboDragSink::TFunctor*)0, object, memberFunc)
  367.  
  368. typedef TBdtEventSourceV5<TDBLookupCombo&, TVbxControl&, SHORT, SHORT, TDragState>
  369.                                                    TDBLookupComboDragOverSource;
  370. typedef TBdtEventSinkV5<TDBLookupCombo&, TVbxControl&, SHORT, SHORT, TDragState>
  371.                                                    TDBLookupComboDragOverSink;
  372. #define TDBLookupComboDragOver_FUNCTOR(func) \
  373.         Functor((TDBLookupComboDragOverSink::TFunctor*)0, func)
  374. #define TDBLookupComboDragOver_MFUNCTOR(object,memberFunc) \
  375.         Functor((TDBLookupComboDragOverSink::TFunctor*)0, object, memberFunc)
  376.  
  377. typedef TBdtEventSourceV3<TDBLookupCombo&, SHORT*, TShiftState>
  378.                                                         TDBLookupComboKeySource;
  379. typedef TBdtEventSinkV3<TDBLookupCombo&, SHORT*, TShiftState>
  380.                                                         TDBLookupComboKeySink;
  381. #define TDBLookupComboKey_FUNCTOR(func) \
  382.         Functor((TDBLookupComboKeySink::TFunctor*)0, func)
  383. #define TDBLookupComboKey_MFUNCTOR(object,memberFunc) \
  384.         Functor((TDBLookupComboKeySink::TFunctor*)0, object, memberFunc)
  385.  
  386. typedef TBdtEventSourceV2<TDBLookupCombo&, SHORT> TDBLookupComboKeyPressSource;
  387. typedef TBdtEventSinkV2<TDBLookupCombo&, SHORT>   TDBLookupComboKeyPressSink;
  388. #define TDBLookupComboKeyPress_FUNCTOR(func) \
  389.         Functor((TDBLookupComboKeyPressSink::TFunctor*)0, func)
  390. #define TDBLookupComboKeyPress_MFUNCTOR(object,memberFunc) \
  391.         Functor((TDBLookupComboKeyPressSink::TFunctor*)0, object, memberFunc)
  392.  
  393. typedef TBdtEventSourceV5<TDBLookupCombo&, TMouseButton, TShiftState, SHORT, SHORT>
  394.                                                       TDBLookupComboMouseSource;
  395. typedef TBdtEventSinkV5<TDBLookupCombo&, TMouseButton, TShiftState, SHORT, SHORT>
  396.                                                       TDBLookupComboMouseSink;
  397. #define TDBLookupComboMouse_FUNCTOR(func) \
  398.         Functor((TDBLookupComboMouseSink::TFunctor*)0, func)
  399. #define TDBLookupComboMouse_MFUNCTOR(object,memberFunc) \
  400.         Functor((TDBLookupComboMouseSink::TFunctor*)0, object, memberFunc)
  401.  
  402.  
  403. //------------------------------------------------------------------------------
  404. // TDBLookupList Functors
  405. //------------------------------------------------------------------------------
  406. typedef TBdtEventSourceV1<TDBLookupList&> TDBLookupListNotifySource;
  407. typedef TBdtEventSinkV1<TDBLookupList&>   TDBLookupListNotifySink;
  408. #define TDBLookupListNotify_FUNCTOR(func) \
  409.         Functor((TDBLookupListNotifySink::TFunctor*)0, func)
  410. #define TDBLookupListNotify_MFUNCTOR(object,memberFunc) \
  411.         Functor((TDBLookupListNotifySink::TFunctor*)0, object, memberFunc)
  412.  
  413. typedef TBdtEventSourceV4<TDBLookupList&, TVbxControl&, SHORT, SHORT>
  414.                                                        TDBLookupListDragSource;
  415. typedef TBdtEventSinkV4<TDBLookupList&, TVbxControl&, SHORT, SHORT>
  416.                                                        TDBLookupListDragSink;
  417. #define TDBLookupListDrag_FUNCTOR(func) \
  418.         Functor((TDBLookupListDragSink::TFunctor*)0, func)
  419. #define TDBLookupListDrag_MFUNCTOR(object,memberFunc) \
  420.         Functor((TDBLookupListDragSink::TFunctor*)0, object, memberFunc)
  421.  
  422. typedef TBdtEventSourceV5<TDBLookupList&, TVbxControl&, SHORT, SHORT, TDragState>
  423.                                                    TDBLookupListDragOverSource;
  424. typedef TBdtEventSinkV5<TDBLookupList&, TVbxControl&, SHORT, SHORT, TDragState>
  425.                                                    TDBLookupListDragOverSink;
  426. #define TDBLookupListDragOver_FUNCTOR(func) \
  427.         Functor((TDBLookupListDragOverSink::TFunctor*)0, func)
  428. #define TDBLookupListDragOver_MFUNCTOR(object,memberFunc) \
  429.         Functor((TDBLookupListDragOverSink::TFunctor*)0, object, memberFunc)
  430.  
  431. typedef TBdtEventSourceV3<TDBLookupList&, SHORT*, TShiftState>
  432.                                                         TDBLookupListKeySource;
  433. typedef TBdtEventSinkV3<TDBLookupList&, SHORT*, TShiftState>
  434.                                                         TDBLookupListKeySink;
  435. #define TDBLookupListKey_FUNCTOR(func) \
  436.         Functor((TDBLookupListKeySink::TFunctor*)0, func)
  437. #define TDBLookupListKey_MFUNCTOR(object,memberFunc) \
  438.         Functor((TDBLookupListKeySink::TFunctor*)0, object, memberFunc)
  439.  
  440. typedef TBdtEventSourceV2<TDBLookupList&, SHORT> TDBLookupListKeyPressSource;
  441. typedef TBdtEventSinkV2<TDBLookupList&, SHORT>   TDBLookupListKeyPressSink;
  442. #define TDBLookupListKeyPress_FUNCTOR(func) \
  443.         Functor((TDBLookupListKeyPressSink::TFunctor*)0, func)
  444. #define TDBLookupListKeyPress_MFUNCTOR(object,memberFunc) \
  445.         Functor((TDBLookupListKeyPressSink::TFunctor*)0, object, memberFunc)
  446.  
  447.  
  448. //------------------------------------------------------------------------------
  449. // TDBMemo Functors
  450. //------------------------------------------------------------------------------
  451. typedef TBdtEventSourceV1<TDBMemo&> TDBMemoNotifySource;
  452. typedef TBdtEventSinkV1<TDBMemo&>   TDBMemoNotifySink;
  453. #define TDBMemoNotify_FUNCTOR(func) \
  454.         Functor((TDBMemoNotifySink::TFunctor*)0, func)
  455. #define TDBMemoNotify_MFUNCTOR(object,memberFunc) \
  456.         Functor((TDBMemoNotifySink::TFunctor*)0, object, memberFunc)
  457.  
  458. typedef TBdtEventSourceV4<TDBMemo&, TVbxControl&, SHORT, SHORT> TDBMemoDragSource;
  459. typedef TBdtEventSinkV4<TDBMemo&, TVbxControl&, SHORT, SHORT>   TDBMemoDragSink;
  460. #define TDBMemoDrag_FUNCTOR(func) Functor((TDBMemoDragSink::TFunctor*)0, func)
  461. #define TDBMemoDrag_MFUNCTOR(object,memberFunc) \
  462.         Functor((TDBMemoDragSink::TFunctor*)0, object, memberFunc)
  463.  
  464. typedef TBdtEventSourceV5<TDBMemo&, TVbxControl&, SHORT, SHORT, TDragState>
  465.                                                       TDBMemoDragOverSource;
  466. typedef TBdtEventSinkV5<TDBMemo&, TVbxControl&, SHORT, SHORT, TDragState>
  467.                                                       TDBMemoDragOverSink;
  468. #define TDBMemoDragOver_FUNCTOR(func) \
  469.         Functor((TDBMemoDragOverSink::TFunctor*)0, func)
  470. #define TDBMemoDragOver_MFUNCTOR(object,memberFunc) \
  471.         Functor((TDBMemoDragOverSink::TFunctor*)0, object, memberFunc)
  472.  
  473. typedef TBdtEventSourceV3<TDBMemo&, SHORT*, TShiftState> TDBMemoKeySource;
  474. typedef TBdtEventSinkV3<TDBMemo&, SHORT*, TShiftState>   TDBMemoKeySink;
  475. #define TDBMemoKey_FUNCTOR(func) Functor((TDBMemoKeySink::TFunctor*)0, func)
  476. #define TDBMemoKey_MFUNCTOR(object,memberFunc) \
  477.         Functor((TDBMemoKeySink::TFunctor*)0, object, memberFunc)
  478.  
  479. typedef TBdtEventSourceV2<TDBMemo&, SHORT> TDBMemoKeyPressSource;
  480. typedef TBdtEventSinkV2<TDBMemo&, SHORT>   TDBMemoKeyPressSink;
  481. #define TDBMemoKeyPress_FUNCTOR(func) \
  482.         Functor((TDBMemoKeyPressSink::TFunctor*)0, func)
  483. #define TDBMemoKeyPress_MFUNCTOR(object,memberFunc) \
  484.         Functor((TDBMemoKeyPressSink::TFunctor*)0, object, memberFunc)
  485.  
  486. typedef TBdtEventSourceV5<TDBMemo&, TMouseButton, TShiftState, SHORT, SHORT>
  487.                                                          TDBMemoMouseSource;
  488. typedef TBdtEventSinkV5<TDBMemo&, TMouseButton, TShiftState, SHORT, SHORT>
  489.                                                          TDBMemoMouseSink;
  490. #define TDBMemoMouse_FUNCTOR(func) \
  491.         Functor((TDBMemoMouseSink::TFunctor*)0, func)
  492. #define TDBMemoMouse_MFUNCTOR(object,memberFunc) \
  493.         Functor((TDBMemoMouseSink::TFunctor*)0, object, memberFunc)
  494.  
  495.  
  496. //------------------------------------------------------------------------------
  497. // TDBNavigator Functors
  498. //------------------------------------------------------------------------------
  499. typedef TBdtEventSourceV2<TDBNavigator&, TNavigateBtn> TDBNavigatorClickSource;
  500. typedef TBdtEventSinkV2<TDBNavigator&, TNavigateBtn>   TDBNavigatorClickSink;
  501. #define TDBNavigatorClick_FUNCTOR(func) \
  502.         Functor((TDBNavigatorClickSink::TFunctor*)0, func)
  503. #define TDBNavigatorClick_MFUNCTOR(object,memberFunc) \
  504.         Functor((TDBNavigatorClickSink::TFunctor*)0, object, memberFunc)
  505.  
  506. typedef TBdtEventSourceV1<TDBNavigator&> TDBNavigatorNotifySource;
  507. typedef TBdtEventSinkV1<TDBNavigator&>   TDBNavigatorNotifySink;
  508. #define TDBNavigatorNotify_FUNCTOR(func) \
  509.         Functor((TDBNavigatorNotifySink::TFunctor*)0, func)
  510. #define TDBNavigatorNotify_MFUNCTOR(object,memberFunc) \
  511.         Functor((TDBNavigatorNotifySink::TFunctor*)0, object, memberFunc)
  512.  
  513. typedef TBdtEventSourceV4<TDBNavigator&, TVbxControl&, SHORT, SHORT>
  514.                                                          TDBNavigatorDragSource;
  515. typedef TBdtEventSinkV4<TDBNavigator&, TVbxControl&, SHORT, SHORT>
  516.                                                          TDBNavigatorDragSink;
  517. #define TDBNavigatorDrag_FUNCTOR(func) \
  518.         Functor((TDBNavigatorDragSink::TFunctor*)0, func)
  519. #define TDBNavigatorDrag_MFUNCTOR(object,memberFunc) \
  520.         Functor((TDBNavigatorDragSink::TFunctor*)0, object, memberFunc)
  521.  
  522. typedef TBdtEventSourceV5<TDBNavigator&, TVbxControl&, SHORT, SHORT, TDragState>
  523.                                                      TDBNavigatorDragOverSource;
  524. typedef TBdtEventSinkV5<TDBNavigator&, TVbxControl&, SHORT, SHORT, TDragState>
  525.                                                      TDBNavigatorDragOverSink;
  526. #define TDBNavigatorDragOver_FUNCTOR(func) \
  527.         Functor((TDBNavigatorDragOverSink::TFunctor*)0, func)
  528. #define TDBNavigatorDragOver_MFUNCTOR(object,memberFunc) \
  529.         Functor((TDBNavigatorDragOverSink::TFunctor*)0, object, memberFunc)
  530.  
  531.  
  532. //------------------------------------------------------------------------------
  533. // TDBRadioGroup Functors
  534. //------------------------------------------------------------------------------
  535. typedef TBdtEventSourceV1<TDBRadioGroup&> TDBRadioGroupNotifySource;
  536. typedef TBdtEventSinkV1<TDBRadioGroup&>   TDBRadioGroupNotifySink;
  537. #define TDBRadioGroupNotify_FUNCTOR(func) \
  538.         Functor((TDBRadioGroupNotifySink::TFunctor*)0, func)
  539. #define TDBRadioGroupNotify_MFUNCTOR(object,memberFunc) \
  540.         Functor((TDBRadioGroupNotifySink::TFunctor*)0, object, memberFunc)
  541.  
  542. typedef TBdtEventSourceV4<TDBRadioGroup&, TVbxControl&, SHORT, SHORT>
  543.                                                         TDBRadioGroupDragSource;
  544. typedef TBdtEventSinkV4<TDBRadioGroup&, TVbxControl&, SHORT, SHORT>
  545.                                                         TDBRadioGroupDragSink;
  546. #define TDBRadioGroupDrag_FUNCTOR(func) \
  547.         Functor((TDBRadioGroupDragSink::TFunctor*)0, func)
  548. #define TDBRadioGroupDrag_MFUNCTOR(object,memberFunc) \
  549.         Functor((TDBRadioGroupDragSink::TFunctor*)0, object, memberFunc)
  550.  
  551. typedef TBdtEventSourceV5<TDBRadioGroup&, TVbxControl&, SHORT, SHORT, TDragState>
  552.                                                     TDBRadioGroupDragOverSource;
  553. typedef TBdtEventSinkV5<TDBRadioGroup&, TVbxControl&, SHORT, SHORT, TDragState>
  554.                                                     TDBRadioGroupDragOverSink;
  555. #define TDBRadioGroupDragOver_FUNCTOR(func) \
  556.         Functor((TDBRadioGroupDragOverSink::TFunctor*)0, func)
  557. #define TDBRadioGroupDragOver_MFUNCTOR(object,memberFunc) \
  558.         Functor((TDBRadioGroupDragOverSink::TFunctor*)0, object, memberFunc)
  559.  
  560.  
  561. //------------------------------------------------------------------------------
  562. // TDBText Functors
  563. //------------------------------------------------------------------------------
  564. typedef TBdtEventSourceV1<TDBText&> TDBTextNotifySource;
  565. typedef TBdtEventSinkV1<TDBText&>   TDBTextNotifySink;
  566. #define TDBTextNotify_FUNCTOR(func) \
  567.         Functor((TDBTextNotifySink::TFunctor*)0, func)
  568. #define TDBTextNotify_MFUNCTOR(object,memberFunc) \
  569.         Functor((TDBTextNotifySink::TFunctor*)0, object, memberFunc)
  570.  
  571. typedef TBdtEventSourceV4<TDBText&, TVbxControl&, SHORT, SHORT> TDBTextDragSource;
  572. typedef TBdtEventSinkV4<TDBText&, TVbxControl&, SHORT, SHORT>   TDBTextDragSink;
  573. #define TDBTextDrag_FUNCTOR(func) Functor((TDBTextDragSink::TFunctor*)0, func)
  574. #define TDBTextDrag_MFUNCTOR(object,memberFunc) \
  575.         Functor((TDBTextDragSink::TFunctor*)0, object, memberFunc)
  576.  
  577. typedef TBdtEventSourceV5<TDBText&, TVbxControl&, SHORT, SHORT, TDragState>
  578.                                                     TDBTextDragOverSource;
  579. typedef TBdtEventSinkV5<TDBText&, TVbxControl&, SHORT, SHORT, TDragState>
  580.                                                     TDBTextDragOverSink;
  581. #define TDBTextDragOver_FUNCTOR(func) \
  582.         Functor((TDBTextDragOverSink::TFunctor*)0, func)
  583. #define TDBTextDragOver_MFUNCTOR(object,memberFunc) \
  584.         Functor((TDBTextDragOverSink::TFunctor*)0, object, memberFunc)
  585.  
  586. typedef TBdtEventSourceV5<TDBText&, TMouseButton, TShiftState, SHORT, SHORT>
  587.                                                              TDBTextMouseSource;
  588. typedef TBdtEventSinkV5<TDBText&, TMouseButton, TShiftState, SHORT, SHORT>
  589.                                                              TDBTextMouseSink;
  590. #define TDBTextMouse_FUNCTOR(func) Functor((TDBTextMouseSink::TFunctor*)0, func)
  591. #define TDBTextMouse_MFUNCTOR(object,memberFunc) \
  592.         Functor((TDBTextMouseSink::TFunctor*)0, object, memberFunc)
  593.  
  594.  
  595. #ifdef __OWL_VBXCTL_H
  596. //----------------------------------------------------------------------
  597. // Event Dispatchers
  598. //----------------------------------------------------------------------
  599. //
  600. // Mangle the class and function names so we can have mulitpale versions of the
  601. // same classes and functions in one .LIB file.
  602. //
  603. #if defined( __DLL__ ) && ! defined( __FLAT__ )
  604. #  if defined( _RTLDLL )
  605. #    define NotifyEvent_Dispatch dNotifyEvent_Dispatch
  606. #    define DragEvent_Dispatch   dDragEvent_Dispatch
  607. #    define DragOver_Dispatch    dDragOver_Dispatch
  608. #    define KeyEvent_Dispatch    dKeyEvent_Dispatch
  609. #    define KeyPress_Dispatch    dKeyPress_Dispatch
  610. #    define MouseEvent_Dispatch  dMouseEvent_Dispatch
  611. #    define DrawItem_Dispatch    dDrawItem_Dispatch
  612. #    define MeasureItem_Dispatch dMeasureItem_Dispatch
  613. #    define NavClick_Dispatch    dNavClick_Dispatch
  614. #  else _RTLDLL
  615. #    define NotifyEvent_Dispatch uNotifyEvent_Dispatch
  616. #    define DragEvent_Dispatch   uDragEvent_Dispatch
  617. #    define DragOver_Dispatch    uDragOver_Dispatch
  618. #    define KeyEvent_Dispatch    uKeyEvent_Dispatch
  619. #    define KeyPress_Dispatch    uKeyPress_Dispatch
  620. #    define MouseEvent_Dispatch  uMouseEvent_Dispatch
  621. #    define DrawItem_Dispatch    uDrawItem_Dispatch
  622. #    define MeasureItem_Dispatch uMeasureItem_Dispatch
  623. #    define NavClick_Dispatch    uNavClick_Dispatch
  624. #  endif _RTLDLL
  625. #elif defined( _RTLDLL )
  626. #  define NotifyEvent_Dispatch iNotifyEvent_Dispatch
  627. #  define DragEvent_Dispatch   iDragEvent_Dispatch
  628. #  define DragOver_Dispatch    iDragOver_Dispatch
  629. #  define KeyEvent_Dispatch    iKeyEvent_Dispatch
  630. #  define KeyPress_Dispatch    iKeyPress_Dispatch
  631. #  define MouseEvent_Dispatch  iMouseEvent_Dispatch
  632. #  define DrawItem_Dispatch    iDrawItem_Dispatch
  633. #  define MeasureItem_Dispatch iMeasureItem_Dispatch
  634. #  define NavClick_Dispatch    iNavClick_Dispatch
  635. #endif
  636.  
  637. //----------------------------------------------------------------------
  638. int32 _OWLFUNC  // NotifyEvent (OnClick, OnDblClick, OnChange)
  639. NotifyEvent_Dispatch(GENERIC& generic, void (GENERIC::*pmf)(), uint, int32);
  640.  
  641. int32 _OWLFUNC // DragEvent (OnDragDrop, OnEndDrag)
  642. DragEvent_Dispatch(GENERIC&, void (GENERIC::*)(TVbxControl&, SHORT, SHORT), uint, int32);
  643.  
  644. int32 _OWLFUNC // DragOverEvent (OnDragOver)
  645. DragOver_Dispatch(GENERIC&, void (GENERIC::*)(TVbxControl&, SHORT, SHORT, TDragState), uint, int32);
  646.  
  647. int32 _OWLFUNC // KeyEvent (OnKeyDown, OnKeyUp)
  648. KeyEvent_Dispatch(GENERIC&, void (GENERIC::*)(SHORT*, TShiftState), uint, int32);
  649.  
  650. int32 _OWLFUNC // KeyPress (OnKeyPress)
  651. KeyPress_Dispatch(GENERIC&, void (GENERIC::*)(SHORT), uint, int32);
  652.  
  653. int32 _OWLFUNC // MouseEvent (OnMouseDown, OnMouseMove, OnMouseDown)
  654. MouseEvent_Dispatch(GENERIC&, void (GENERIC::*)(TMouseButton, TShiftState, SHORT, SHORT), uint, int32);
  655.  
  656. int32 _OWLFUNC
  657. DrawItem_Dispatch(GENERIC& generic, void (GENERIC::*pmf)(SHORT, TRect, TOwnerDrawState), uint, int32);
  658.  
  659. int32 _OWLFUNC
  660. MeasureItem_Dispatch(GENERIC& generic, void (GENERIC::*pmf)(SHORT, SHORT*), uint, int32);
  661.  
  662. int32 _OWLFUNC // NavClick (OnClick)
  663. NavClick_Dispatch(GENERIC&, void (GENERIC::*)(TNavigateBtn), uint, int32);
  664.  
  665. //----------------------------------------------------------------------
  666. // Event Response Table Macros
  667. //----------------------------------------------------------------------
  668. #define EV_VBXEVENT_NAVCLICK \
  669.  {WM_VBXBASE+0,0,(TAnyDispatcher)::NavClick_Dispatch}
  670.  
  671. #define EV_VBXEVENT_NAVRESIZE \
  672.  {WM_VBXBASE+Event_TDBNavigator_ReSize,0,(TAnyDispatcher)::NotifyEvent_Dispatch}
  673.  
  674. #define EV_VBXEVENT_CLICK \
  675.   {WM_VBXBASE+0,0,(TAnyDispatcher)::NotifyEvent_Dispatch}
  676.  
  677. #define EV_VBXEVENT_DRAGOVER \
  678.   {WM_VBXBASE+1,0,(TAnyDispatcher)::DragOver_Dispatch}
  679.  
  680. #define EV_VBXEVENT_DRAGDROP \
  681.   {WM_VBXBASE+2,0,(TAnyDispatcher)::DragEvent_Dispatch}
  682.  
  683. #define EV_VBXEVENT_ENDDRAG \
  684.   {WM_VBXBASE+3,0,(TAnyDispatcher)::DragEvent_Dispatch}
  685.  
  686. #define EV_VBXEVENT_CHANGE( index ) \
  687.   {WM_VBXBASE+index,0,(TAnyDispatcher)::NotifyEvent_Dispatch}
  688.  
  689. #define EV_VBXEVENT_DBLCLICK( index ) \
  690.   {WM_VBXBASE+index,0,(TAnyDispatcher)::NotifyEvent_Dispatch}
  691.  
  692. #define EV_VBXEVENT_ENTER( index ) \
  693.   {WM_VBXBASE+index,0,(TAnyDispatcher)::NotifyEvent_Dispatch}
  694.  
  695. #define EV_VBXEVENT_EXIT( index ) \
  696.   {WM_VBXBASE+index,0,(TAnyDispatcher)::NotifyEvent_Dispatch}
  697.  
  698. #define EV_VBXEVENT_KEYDOWN( index ) \
  699.   {WM_VBXBASE+index,0,(TAnyDispatcher)::KeyEvent_Dispatch}
  700.  
  701. #define EV_VBXEVENT_KEYPRESS( index ) \
  702.   {WM_VBXBASE+index,0,(TAnyDispatcher)::KeyPress_Dispatch}
  703.  
  704. #define EV_VBXEVENT_KEYUP( index ) \
  705.   {WM_VBXBASE+index,0,(TAnyDispatcher)::KeyEvent_Dispatch}
  706.  
  707. #define EV_VBXEVENT_KEYUP( index ) \
  708.   {WM_VBXBASE+index,0,(TAnyDispatcher)::KeyEvent_Dispatch}
  709.  
  710. #define EV_VBXEVENT_MOUSEDOWN( index ) \
  711.   {WM_VBXBASE+index,0,(TAnyDispatcher)::MouseEvent_Dispatch}
  712.  
  713. #define EV_VBXEVENT_MOUSEMOVE( index ) \
  714.   {WM_VBXBASE+index,0,(TAnyDispatcher)::MouseEvent_Dispatch}
  715.  
  716. #define EV_VBXEVENT_MOUSEUP( index ) \
  717.   {WM_VBXBASE+index,0,(TAnyDispatcher)::MouseEvent_Dispatch}
  718.  
  719. #define EV_VBXEVENT_DRAWITEM( index ) \
  720.   {WM_VBXBASE+index,0,(TAnyDispatcher)::DrawItem_Dispatch}
  721.  
  722. #define EV_VBXEVENT_MEASUREITEM( index ) \
  723.   {WM_VBXBASE+index,0,(TAnyDispatcher)::MeasureItem_Dispatch}
  724.  
  725. #define EV_VBXEVENT_DROPDOWN( index ) \
  726.   {WM_VBXBASE+index,0,(TAnyDispatcher)::NotifyEvent_Dispatch}
  727. #endif __OWL_VBXCTL_H
  728.  
  729. #endif DBEVENT_H_
  730.